ME INTERNATIONAL QL REPORT
The Definitive Information Source
Published by SeaCoast Services
Anniversary
Issue
May/June
{992
Vol. 2 No. 1 $5.00
15 Kilburn Court, Newport, Rhode Island 02840, USA
DILWYN JONES COMPUTING
41 BRO EMRYS, TAL-Y-BONT, BANGOR, GWYNEDD, GREAT BRITAIN, LL57 3 YT
TELEPHONE: 0248-354023
WE SELL A WIDE RANGE OF SINCLAIR QL SOFTWARE, PROGRAMS WE PUBLISH OURSELVES AND THIRD PARTY
SOFTWARE. MOST ITEMS ARE HELD IN STOCK WHERE POSSIBLE, BUT WE WILL OF COURSE ORDER ANY ITEM NOT
CURRENTLY IN STOOCK AND QUOTE YOU A DELIVERY TIME.
CATALOGUE ASK FOR A COPY OF OUR QL PRODUCTS CATALOGUE, FREE ON REQUEST. IT CONTAINS MORE DETAILS
OF OUR SOFTWARE AND SOME SCREEN PICTURES FROM THE PROGRAMS.
SOME OF OUR SOFTWARE IS AVAILABLE FROM EMSOFT IN THE U.S.A., QITALY CLUB IN ITALY, JURGEN FALKENBURG
AND QLYMPIC COMPUTER SYSTEMS IN GERMANY. OR YOU CAN ORDER DIRECT FROM US, OF COURSE. IF CONTACTING
US BY TELEPHONE, REMEMBER THE UK IS 5 TO 8 HOURS AHEAD OF THE U.S.A. WE HAVE AN ANSWERING MACHINE FOR
WHEN WE CAN'T ANSWER IN PERSON AND WE DO TRY TO CALL YOU BACK IF REQUIRED.
WE CAN ACCEPT ORDERS BY TELEPHONE, PAID FOR BY CREDIT CARD FOR LOW EXCHANGE COSTS AND QUICK
DELIVERY. WHY NOT CLUB TOGETHER TO BUY PROGRAMS AT REDUCED COSTS AND TAKE ADVANTAGE OF QUANTITY
DISCOUNTS (5% DISCOUNT FOR 2 PROGRAMS, 10% FOR THREE OR MORE). PLEASE ADD 2.00 POUNDS STERLING PER
PROGRAM ON MICRODRIVE CARTRIDGE.
PAYMENT BY CREDIT CARD (ACCESS, VISA, MASTERCARD, EUROCARD, CONNECT),
EUROCHEQUE (IN POUNDS STERLING), INTERNATIONAL POSTAL MONEY ORDER, CASH,
CHEQUE IN POUNDS STERLING DRAWN ON UK BRANCH OF A BANK OR BUILDING
SOCIETY
ALL PRICES IN THIS ADVERT ARE IN UK POUNDS STERLING CURRENCY.
POSTAGE - SOFTWARE POST FREE IN THE UK, AND 1 POUND PER PROGRAM TO OTHER
COUNTRIES
FILE TRANSFER DISPLAY SOFTWARE DATABASE
DISCOVER VISION MIXER 1........... ADDRESS LABEL PRINTER.
MULTI DISCOVER VISION MIXER PLUS. DATA DESIGN...
EXT S б ed ae EAS СЫР алы UPGRADE VM1 ТО УМ» 450 FLASHBACK.
PICTUREMASTER........ 5.00 FLASHBACK SE. А
LEISURE PICTUREMASTER PLUS. 0.00 UPGRADE TO SE VERSION 20.00
CRICKETSECRETARY. UPGRADETO PMPLUS 500 | GENEALOGIST.......
QUESTION MASTER GENEALOGIST V2....
FLEET TACTICAL GRAPHICS BUDGET GENEALOGIST..
COMMAND 2..........................49.95 THE PAINTER 4.04... 2500 | SUPER DISK INDEXER
FIC DATA PRINTER (HP Deskjet printer option)
THE FUGITIVE Sor OTHER SOFTWARE
COCTAILS WAITER QRACTAL..... 20.00 НОМЕ BUDGET (ОК).
DEMO QRACTAL SCREENS. 5.00 REMIND ME à
PROGRAMMING IMAGE PROCESSOR V2.. 500 ЅСКЕЕМЕСОМОМІЅЕК........................ 10.00
BASIC REPORTER ат UPGRADE TO VERSION 2.. 0.00 | SLOWGOLD slow down.. 5.00
BUDGET QLIBERATOR PD2CLIPARTSCREENS.. 000 — TASKMASTER............. 25.00
QLIBERATOR 3.35..
QLOAD and QREF...
FILE HANDLING
FILES 2
FILEMASTER.
THE GOPHER
WINBACK V2.01..
D.T.P.
PAGE DESIGNER 2+
PD2 UPGRADE.
SCREEN SNATCHER.
TEXT 'N' GRAPHIX
TRANS24 converter...
TEXT
KING JAMES BIBLE TEXT
QUILL WP" DOC"FILES.
SPELLBOUND..
SPELLBOUNDSE
QUICK POSTERS...
ROBROY SOFTWAREPACK.
MEGA-TOOLKIT.
(ready during the summer)
MINI PROCESS CONTROLLER
SOFTWAREUTILITY.
NETWORK PROVER BOX.
LABELS
100 disk labels...
100 m'drive labels... ч
100 address labels.
ALL PRICES SHOWN ARE POUNDS STERLING
SPECIAL ANNIVERSARY ISSUE
NEWPORT, RHODE ISLAND, USA - THE EDITORIAL STAFF
With this issue, we begin our second year of publication. We've received many
encouraging letters with your subscription renewals, and we'll endeavor to continue
providing you with a timely, quality publication. We would also like to welcome the many
new readers who have joined us.
During the past year you've received advanced information on the latest hardware and
software developments for the QL, including the QL HDD-CARD, FLP/RAM level 2
Replacement Eprom, the soon to be released Miracle Systems Graphics Card, Minerva,
Exeqter and the QL ROM-CARD.
Articles contributed by QL Users from around the world included, How to Setup the 3.2
Meg. Floppies, Programming in "C", a Multi-part Toolkit II Tutorial, Hints & Tips, and
Software Reviews. Our pool of writers has increased with each issue, which we hope will
continue. IQLR covers the entire spectrum of QL users from novice to expert. Many a
novice has taught the experts a thing or two. Why not share your insights, experiences,
problems, tricks, and knowledge with the rest of us, and don't worry about writing style.
Dick Taylor is one of the best editors in the business, and has saved our articles on more
than one occasion.
You asked us to include advertisements, which we've done, but remember, your support
of the dealers who advertise in IQLR is essential for them to continue.
Starting with this issue, we will incorporate (from time to time), REFERENCE CARDS.
These cards contain information and/or commands with explanation, that will help you to
use programs, utilities, and even operating system equivalents. This issue contains a card
for TOOLKIT II that was provided by the SeaCoast QL User's Group.
The frequency with which we publish these REFERENCE CARDS will depend on you. If
‘you or your group would like to develop one for your favorite application, we'll be happy
to include it in a future issue. (Ed. Note: I use a half dozen of these crib cards for various
Editors and even games. They are especially handy for programs I only use occasionally
and it's much easier than slogging through the manual again). We will also offer laminated
versions of these REFERENCE CARDS if there is enough interest. The price will be
$5.95 per card, including shipping in North America.
By now you've noticed our new logo. Our envelopes will continue to carry the old logo
until they are used up. Let us know, what you think of the logo and/or other changes.
IN THE PIPELINE
Work continues on Miracle System's GRAPHICS CARD. No release date has been
announced.
Qview and TF Services of the UK are working on a replacement for the QL's co-
processor, the 8049 chip. This chip controls the QL's keyboard and serial ports. The
advantages of using a 8749 or equivalent chip would be increased speed and a stable serial
interface. A working model was demonstrated at the International QL Meeting held in
Munster, Germany on March 21, 1992.
IN THE PIPELINE - (cont)
Bill Cable of Wind & Wood Computing in the USA is feverishly working to complete his
innovative financial package for the QL. Named QLERK, it will be to the QL user what
QUICKEN is to PC users, only better.
The C-68 "C" Compiler is now in release 2.01, (we expect to receive it shortly). Release
3.00 is being beta tested.
NEW FROM DENMARK - ArcED
SURSEE, SWITZERLAND - URS KONIG
ArcED is the new professional TEXT-EDITING-S YSTEM for programmers of all QDOS
compatible computers, written by Steen Kastoft Hansen of Denmark.
Not just another editor, ArcED offers you a complete new dimension in editing. Itis a
configurable full screen Text-Editor, with over 35 direct key commands including user
definable function keys. Its inbuilt command line interpreter has over 80 CLI commands.
There is a powerful user BATCH file option, and an online help system.
It has switchable Auto-Indentation and switchable Word-Wrap. Of importance to "C"
programmers is the switchable Parenthesis-Check. ArcED supports multiple block
operations, easy block transfer between jobs, multiple Search/Exchange operations, inbuilt
configurable discard stack, powerful cursor handling, soft and hard scrolling. It is fully
multitasking, and written in 20K of hyperfast reentrant 68000 machine code.
For additional information, or to place an order, contact either:
COWO ELECTRONIC QLYMPIC COMPUTER SYSTEMS
,Munsterstrasse 4 Quellenweg 18
CH-6210 Sursee W-4220 Dinslaken
Switzerland Germany
Tel: 045 21 1478 Tel: 02134 96694
ArcED is available on 3.5" or 5.25" diskette and comes with a comprehensive 29 page
English manual. The cost is 49 Swiss Francs.
HELPFUL HINT #1:
It can be difficult to insert a peripheral device (i.e. Trump or Gold Card) into the expansion
slot of the QL while they are both horizontal. If you stand the the QL on it's end with the
expansion slot up, you will find that the device will slide in or out without snagging any of
the components on the card. CAUTION: The QL should always be unplugged to ensure
power is off prior to making any hardware alterations. Before touching chips, boards, and
other electronic components, you should use some method of dissipating static electricity.
FANTASTIC PRICE REDUCTION
OSBALDWICK, YORK, UNITED KINGDOM
Miracle Systems have announced a tremendous reduction in the price of their GOLD
CARDS. The export price for delivery outside the UK is now 200 Pounds Sterling.
For the price of $350 to $375 US (depending on the current exchange rate when you order)
you can have a GOLD CARD operating at 16 megahertz, with 1920K bytes of RAM,
68000 processor, a battery backed clock, and access three floppy disk drives of any
configuration (3.2M 1.44M - or 720K). To order, write or call:
Miracle Systems, Ltd.
25 Broughton Way
Osbaldwick, York YO1 3BG
United Kingdom
Те1:0904423986
If your wondering what to do with your Income Tax Refund, or just waiting for the price
to come down, NOW is a good time to upgrade to a GOLD CARD. When calling from
North America Dial: 011 44 904 423 986.
CONFESSIONS OF A QL DUFFER
YARMOUTH PORT, MASSACHUSETTS, USA - SHERMAN E. WATERMAN
Having been introduced to computers at the hoary age of sixty plus, my first experiences
were with the Timex 2068 computer (the American version of the Spectrum). In 1984, I
decided to upgrade to the QL, and I distinctly remember buying my first one from my good
friend, Bob Dyl, at the lofty price of $499.00. Two weeks later, the price plunged by
$200. You'll never live that one down, Bob! (Pub. Note: Sorry Sherm, the decision was
Sinclair's, my shock was ALMOST as great as yours.)
I don't confess to being a programmer or hacker, and rely primarily on existing software,
utilizing the PSION suite.
What do I use My QL for?? Well, one of my retirement hobbies is cooking. I teach a
senior citizen men's cooking class, two to three times a year, with each running for a ten
week term. I wrote an Archive based program I call "RECIPE" to keep all my goodies on
file, it consists of close to 500 recipes, all tried and tested.
Using "RECIPE", I can print out 4 x 6 cards, individually or the whole file, or if needed,
to standard 8 1/2 x 11 sheets of paper. I keep a filebox of 4 x 6 cards handy in the kitchen,
so I don't have to run to the QL for a particular recipe when I'm hungry. If a friend needs
a recipe, I print it out on a customized sheet of paper with my name and date. RECIPE can
be called up in sections, ie. entree, salad, soup, dessert, etc. In my cooking class, each
student receives a cover menu sheet and a hard copy of all the recipes to be made.
In my spare time, I maintain a database of over 1500 names for a local charity I'm involved
with. The program is based on Peter Hale's "MAILBAG" program and runs under
Archive. It's used to print mailing labels, keep account of donations, mailmerge for
postcards and letters, etc. It is capable of printing out in any order desired; Last Name, Zip
Code, Alphabetically, Solicitor, etc., etc.
DUFFER - (cont)
An Abacus template has developed over the years for all my financial records; expenses,
income, and investment data is entered weekly. The program calculates my cashflow,
investment performance, and keeps a running record of charitable donations and expenses.
Ican tell at a glance, what my current financial position is, and come tax time, all I do is
send a printout to my accountant, providing all my yearly data nice and neat; no searching
through numerous shoe boxes, or hunting through drawers looking for long-forgotten
records. It's a snap!
What do I do all this with ?? My system consists of a QL (with backup), Gold Card,
Miracle's Quad Drive Interface, two 3.5" 3.2Meg. ED Drives, two 5 1/4" 720K quad
density drives, Sinclair RGB Monitor, and a workhorse Panasonic KX-P1124 Twenty
Four Pin Printer. ED. Note: the programs "MAILBAG" by Peter Hale ($24.95 US) and
"RECIPE" by Sherm Waterman ($19.95 US) are available from:
EMSOFT
P.O. Box 8763
Boston, MA 02114
USA Tel: (617) 889-0830
FOR SALE - FOR SALE - FOR SALE
MICRODRIVE CARTRIDGES (used) $1.50 each plus postage.
Gyro Burns - 30 Hanlin Ave. - Athens, OH 45701 USA
Telephone: (614) 592-3855
QL COMPUTER (like-new condition with Psion programs) $80.00
Michael R. Greenfield - 177 Indianola Rd. - Youngstown, OH 44512
Telephone: (216) 782-7439
TWO - 3.5" Disk Drives with half height kits $ 25.00 each
Will Horton - 234 Mauran Ave. - East Providence, RI 02914
Telephone: (401) 438-0929 (after 7:00PM EDT)
Back issues of QL World from 1986 thru 1991 $4.00 each plus postage.
Write or call Bob at IQLR for availability.
RS-232 PERIPHERAL INTERFACE
EAST PROVIDENCE, RHODE ISLAND, USA - WILL HORTON
Recently I have been engaged in a project to collect temperature data to analyze the thermal
properties of homes. This project will eventually lead to the development of a
microprocessor controlled thermostat. However, to begin work, data must be collected and
analyzed to understand the thermal properties of a home in a quantitative manner.
Ifelt that the QL could help me with this study, but I first needed to build an interface
between two analog-to-digital converters and the QL. My first thought was to use the
RS-232 - (cont)
expansion slot, but since the expansion slot was already occupied with my trump card, and
I needed a remote sensor, the RS-232 port appeared to be a better choice. This article will
cover the principles and construction of an RS-232 peripheral interface.
In order for the QL to receive data from an RS-232 interface it is necessary to have the data
in a format that the QL can understand. Figure 1 shows what the signals look like for two
ASCII characters. The first character is a zero represented by the ASCII character 30
HEX. The second character is the line feed character represented by the ASCII character
0A HEX. It is important to note that the data you send must be converted to ASCII in
order that the OL will understand what you are transmitting. The signals in figure 1 are
produced by the peripheral interface and this is done by a device known as a UART
(universal asynchronous receive transmit). This device takes parallel data and converts it to
a serial bitstream as shown in figure 1.
00001100 01010000
| ASCII 0 | ASCII LINEFEED |
00110000В (30Н) 00001010В (0АН)
FIGURE 1. RS-232 FORMATTED DATA REPRESENTING TWO ASCII CHARACTERS.
Referring to figure 2 the UART is shown as U2, a 6402 which is a generic part number.
This device is responsible for producing the signal in figure 1, which will be at a TTL
level. In order for the the QL to be able to recover the data this signal must be adjusted
such that the high pulses be between -12 and -3 volts, and the lows be between +3 and +12
volts. This is the standard for RS-232 data. The device that takes care of this for us is U4,
an ICL232 which converts the TTL levels to the RS-232 format. Also notice this device
does not require an additional +/-12 volt supply.
Now that we are able to transmit the properly formatted data to the QL, the next problem is
to control the peripheral device. For this job I chose to use an 8748 microcontroller for two
reasons: first it was inexpensive, and secondly it was easy to program. Referring to figure
2 the microcontroller is labeled as U2, 8748. This device takes care of communicating with
the UART and the two analog-to-digital converters (U5 and U6 of figure 2). The 8748 is
similar to the 8049 used in the QL with the exception of less memory and it is EPROM
programmable. The microcontroller is programmed to wait for а CTS(clear to send) signal
from the QL. Once it receives this signal it takes a reading from each of the two analog-to-
digital converters and converts their eight bit data into three octal characters. This is done
since the analog-to-digital converters produce an output that can not be represented directly
by an ASCII character. So their output must be broken down into three octal characters
and then each character is converted to its respective ASCII equivalent.
Now that the ASCII characters are ready to send, the microcontroller interrogates the
UART to see if it is ready to receive and transmit data. When it is ready the first ASCII
character is sent, the microcontroller interrogates the UART again, an the next ASCII
character is sent. This will continue until all of the characters are sent. After all the
characters are sent
ш-н
жз r1
жз
2! 5!
(220у1 С^“
*08020V oov "t Lam
ON елен
ano
AMA теа
[z50v] ^"^
%08020У
sn
жый m ELA
м
(ена
RS-232 - (cont)
the microcontroller sends the ASCII line feed character, this is necessary since the QL will
wait for this character when it receives strings of data.
For this project I used serial port 2, which is configured as the DTE (data terminal
equipment). What makes using the serial ports nice is that the hardware drivers are already
in place and it becomes a simple matter of using SuperBasic to read them. By simply
opening ser2 and using and input command, data can be read from ser2, and then formatted
back into what actually came out of the analog-to-digital converters.
The final item to be discussed is the firmware burned into the 8748. The firmware was
developed with the aid of the Intel Microcontroller Handbook. Enough examples were
given so that I could adapt them to my particular application. I wrote the object code by
hand and "fat fingered" it into a prom burner. Things would have been better if I had an
emulator for the 8748 but things still worked out fine. The firmware was just a simple
matter of polling the ready line coming from the UART, reading the two analog-to-digital
converters and transferring the data to the UART.
If anyone reading this article would like additional information on the topic feel free to
contact me in care of the IOLR.
HELPFUL HINT #2
TIVERTON, RHODE ISLAND, USA - DICK TAYLOR
With so many new hardware upgrades, I find that I am changing or remounting chips with
increasing frequency. Just recently I mounted two Gold Card chips (version changes), an
upgraded MINERVA ROM and the Keyboard Interface, which required lifting the 8049
chip. Some people have no problems slipping chips in and out of their QLs, but I find I
have a 50-50 chance of bending or breaking a leg, or worse, causing a hairline crack that
later results in intermittent problems. A solution that not only improves my odds of being
successful, but also results in the chips being more solidly seated, is the use of an IC frame
(or chip carrier) as illustrated above.
Buy good frames, with machine pins (round legs rather than the thinner spade type). The
use of these frames allows you to install the chip into the frame while it is out of the QL,
decreasing the chance of bending a leg. The chip and frame combination can then be
inserted into the socket on the QL. The round legs go into the socket much easier than the
legs on the chip and any wear and tear is to the frame, which is much less costly to replace
than the chip.
MIRACLE
SYSTEMS
К. 7 Nw
MASTERCARD Ld
=
14 day money back guarantee
See the GOLD CARD at:
BRISTOL:
QUANTA AGM
25th - 26th April 1992
Walten Park Hotel, Clevedon
BRUSSELS:
EUROPEAN MICROFAIR '92
2nd May 1992
Eurovolleycenter
Beneluxlaan, Vilvoorde
LONDON;
QUANTA WORKSHOP
30th May 1992
St. Helen’s Church Hall
St. Helen's Gardens
North Kensington
London W10
GLASGOW:
ALL FORMATS COMPUTER FAIR
7th June 1992
City Hall, Candleriggs
[ А
To: MIRACLE SYSTEMS Ltd, 25 Broughton Way, Osbaldwick, |
| York, YO1 3BG, U.K. Tel: (0904) 423986
Tel: (0904) 423986
To place an order by phone
please have your credit card
ready. For overseas customers
| Please send me
TRUMP CARD
£75 inc VAT (£65 export)
The economy upgrade for the QL. You get
768K of RAM + disk interface for 720K (DD)
drives + Toolkit Il.
DUAL ED
DISK DRIVE
£175 inc VAT (£155 export)
Two ED 3.5" mechanisms plus power supply
housed with cables. Ten ED diskettes included.
720K per diskette with Trump card. 720K,
1.44M or 3.2M per diskette with Gold Card.
QL CENTRONICS
£29 inc VAT (£28 export)
Connects either SER1 or SER2 to Centronics
parallel port on any printer. Has 3M cable.
| l enclose a cheque to the value of: £
number and expiry date, or
|
|
|
|
expires (1 СИ B
|
|
|
we charge the prices shown in |. Or debit credit card О000000000000000
brackets. |
To order by post, please fill in
the form opposite or write to us Name е. Signature ..———— ——————
quoting your credit card | Ааф
enclosing a cheque payable to X
MIRACLE SYSTEMS Ltd. is
zu
SYS
If you're still not a
member of the user
club, QUANTA, then
there’s no time like
the present to
contact Bill Newell,
the Membership
Secretary, 213
Manor Road,
Benfleet, Essex,
SS7 4JD,
tel. (0268) 754407
and join.
te gs |
МАЅТЕРСАРО
ЧЕРЧЕ?
14 day money back guarantee
GOLD CARD
Who is the GOLD CARD for? Well, if you ask
anybody who's already got one they'll tell
you everyone should have one. The
principal benefit is the speed.
Programs are typically accelerated
by a factor of four. The subjective
effect of this is to give the QLa
completely new feel.
There's also a bettery-backed
clock which keeps track of the
time while the QL is switched off
50 you don't need to enter the time
and date when you switch on the QL.
A standard disk drive connector
lets you couple the GOLD
CARD to the old style 720K
drive or the new dual 3.2M
drive which, for many users,
is an excellent alternative to
a hard disk.
We've also put 2M of RAM on
board so you can run more tasks
simultaneously and manipulate larger blocks of
data like Quill documents for example.
Best of all though, why not come to one of the
venues listed opposite and see the Gold Card
in action. If you want to see what difference the
Gold Card will make to you then please bring
along the software you are familiar with. We
look forward to seeing you.
MIRACLE
TEMS
Gold Card Owners
The latest ROM
version is 2.28. If
you have an earlier
version please
contact us for a free
upgrade.
MIRACLE SYSTEMS Ltd, 25 Broughton Way, Osbaldwick,
York, YO1 3BG, U.K. Tel: (0904) 423986
THE INTERNATIONAL QL MEETING
BANGOR, GWYNEDD, UK - DILWYN JONES
The 21st March 1992 saw the International QL Meeting in Germany, organized by the
Sinclair QL User Club e.V. Munster-Roxel, NW Germany was the location, and
QL/QDOS enthusiasts from several countries gathered in a school hall to see, try out and
discuss everything to do with the QL. I was part of a contingent of British Quanta
members who travelled by mini-bus from Ramsgate, England, via Dunkirk through
Belgium and Holland to Germany.
For a moment, I thought we had come to the wrong place. Surely this was an Atari ST
show? But no, they all turned out to be ST-QL's upon closer examination, being very
popular in Germany thanks to the work of people like Jochen Merz.
Looking around, I quickly took stock of the traders and various user group representatives
present. From Germany, Jochen Merz was present of course with his well known QL and
ST-QL products, demonstrating his QD4 editor and a new card game, The Lonely Joker (3
patience games running in pointer environment), along with Jurgen Falkenburg's range of
hardware add ons including a low cost hard disk interface, Albin Hessler Software with
EasyPtr 2 (pointer environment programming aid) and an interesting looking QL mouse (I
think it was a PC type serial mouse) connected to the serial port on а QL with software to
make it work with the pointer environment. From Belgium came PROGS (Professional
And Graphical Software) with their range of graphics and database software. COWO
Electronic represented Switzerland, showing off QTop software and ExeQtor,(their tower
system QL). From Italy, Davide Santachiare of Ergon Development was present. Traders
from Britain included Miracle Systems Ltd who sold a large number of Gold Cards, EEC
Ltd with a range of products, TF Services exhibiting Minerva and Laurence Reeves (!) and
the tame robot ‚familiar to visitors of the TF Services' stand at British shows. DJC was
present, with the range of QL software, and Quanta (the independent QL user group) also
had a stand there.
There were members of QL/QDOS user groups from most European countries, including
those from Qltaly, QL Contact France, Sin-QL-air from Holland, plus visitors from
Scandinavia and Belgium and possibly other countries, making this a truly international
event. Language was mostly no barrier - it quickly became apparent that English was the
standard QL language of communication! Some of us tried to learn some German
beforehand, but we left the show knowing much more than when we arrived. The local
people were very patient and understanding with us!
The level of activity and knowledge of the QL scene in Germany surprised me. I was
aware that there were a large number of QL and ST-QL users in Germany, but I was not
prepared for the level of enthusiasm I came across while I was there. The products on
offer from German companies seemed to all be of a high standard, and clearly explained by
knowledgeable individuals. Most German users appear to use the pointer environment,
which is in stark contrast to the British scene. This is probably due in no small part to the
efforts of people like Jochen Merz.
ST-QL's are very popular there and I was fortunate enough to be able to borrow one to
play with while I was there (thanks, Ralf). I was very surprised at the high level of
software compatibility - not one commercial program I ran on it fell over! It ran QL
software quite fast, and oh boy, did I love the 4MB environment. Imagine it - twice the
space of a Gold Card!
12
QL MEETING - (cont)
Several discussions and seminars took place on various subjects from BBS's to Fleet
Tactical Command, from the future of the QL and QDOS to Minerva and QForth. Sadly, I
and several others missed most of these because it was not clear what was being held
where and when, a point to improve for next time..
Overall, I was very impressed. It was my first trip to a QL show outside of Britain and I
thoroughly enjoyed myself, although we all ended up pretty tired at the end. My thanks to
the organizers, including Franz Herrmann, and everyone else for their friendliness and
good spirits. I shall definitely be looking for an excuse to go to the next one!
QL HOME FINANCE-REVISITED
HADDAM, CONNECTICUT, USA - ROY ARSENAULT
In the early days of the QL, Sinclair released a number of third party software packages
under the Sinclair banner. One of the best was a terrific financial software package entitled
"QL-HOME FINANCE ", written by BUZZ SOFTWARE.
The popularity of this package was due in part to the speed, flexibility, and features which
were well ahead of its time. The fly in the ointment however, was the fact that HOME
FINANCE was not written in reentrant code. As many of us expanded our QL's beyond
128k, we had to leave our old friend behind. Much has been written about this in such
publications as Quanta and QL World.
The solution that worked for me, in running HOME FINANCE with a TRUMP or GOLD
CARD is the below listed BOOT program. I know that it works with a JSU rom and some
versions of MINERVA. To run with a TRUMP CARD, replace the current boot program
with the one offered here. For the GOLD CARD, replace the boot program AND input
RES. SIZE 200 before hitting Fl. GOOD LUCK!
100 CLCHP : aCALCHP(256*1024)
110 IF a-HEX(270868') THEN STOP
120 x=a+256*1024-512:LBYTES FLP1 HF LDR,x:CALL x+44
LINKED LISTS AND C -PROGRAMMING
EAST PROVIDENCE, RHODE ISLAND, USA - WILL HORTON
My last article on Pointers and Structures demonstrated the way pointers are used to access
data within a C Program. This article will relate the concepts of pointers and structures to
another mechanism, the linked list. The concept of the linked list is not unique to the C-
Programming Language, it is also used in Pascal, however C does give a great deal of
flexibility in the way it can handle data within a Linked List. Linked lists are used in QDOS
to allocate user heap. Allocation of user heap is known as dynamic memory allocation in C,
which will be addressed later in this article.
1. Structures Revisited
To begin let us reiterate the use of the structure from my previous article. The structure is a
means of grouping related elements into a single logical entity, which creates a special data
13
LINKED LIST - (cont)
type called a structure. For example if we were operating a health club and wanted to keep
track of our clients health profile we might develop a structure as follows:
struct member
char name[30]; /*member's name*/
int age; /Fage*/
int height; /*height in inches*/
int weight; /*weight in pounds*/
k
struct member client1 = (John Smith, 34, 68, 155);
struct member client2 = (Joe Brown, 45, 74, 200);
main()
printf("Name: %s\n",clientt.name)
printf("age: %d\n",client1.age);
printf("height: %d\n",client1.height);
printf("weight: %d\n",client1.weight);
printf("\n");
printf("Name: %s\n",client2.name)
printf("age: %d\n",client2.age);
printf("height: %d\n",client2.height);
printf(weight: %d\n",client2. weight);
)
The output will be:
Name: John Smith
age: 34
height: 58
weight: 155
Name: Joe Brown
age: 45
height: 74
weight: 200
This program declares two variables, client and client2 to be of structure type member.
Note that by doing this, client1 and client2 will have associated with it four items: а
character string called ,"пате", and three integers: age, height, and weight. The variable
client] is declared and initialized by the statement: "struct member clientl = (John Smith,
34, 68, 155)". So a variable of structure type member, called client] now exists which
contains four elements: name, age, height, and weight. The program shows how each of
the elements are accessed by using a "." and the name of the element following the variable
name, e.g. clientl.age = 34.
14
LINKED LIST - (cont)
2. Linked Lists
Now that structures have been presented, here is an application of structures that provide a
convenient means of handling lists of data, the linked list. A linked list consists of
structures linked to each other by pointers. The following diagram demonstrates this
principle.
STRUCTURE 1
STRUCTURE 2
STRUCTURE 3
FIGURE 1. STRUCTURES FORMED INTO A LINKED LIST
As can been seen from Figure 1, the linked list is merely a list of items linked together with
a pointer. We can think of the list as data written down on a piece of paper with the pointer
indicating where the next list is to be found, so as to keep the information in order. The
first list is pointed to by pointer "ptrfirst" at the end of the list is another pointer that points
to the next list of data, and the final list will be terminated with a NULL character indicating
the end of the list. These pointers are what link the lists together, hence the name linked
list. The linked list can be made as long as you desire.
It should be apparent that the linked list is a convenient means of storing data which will
allow the data to be manipulated in a variety of ways. For instance the data could be sorted
into alphabetical order, or names of people could be retrieved according to a particular piece
of data, for instance using the health club example people of a particular weight class could
be retrieved for study. But what makes this important is that the data is all linked together
for easy access.
What makes linked lists nice is that they can expand or contract as you so desire. In order
to make a linked list grow it will be important to let memory expand as you add another
item to your linked list. The mechanism that allows this to happen is called dynamic
15
LINKED LIST - (cont)
memory allocation. Dynamic memory allocation differs from static memory allocation in
that dynamic memory allocation allows memory to be added or removed as required. There
are two commands in C that are used for dynamic memory allocation: malloc and calloc.
Malloc allocates a piece of memory the size of the item you want to store, calloc does the
same but also clears the memory. For instance if you want to store an integer the command
would look like this: (int malloc( sizeof(int)). This will return a pointer to a space in
memory the size of an integer. Note here that the type cast operator "(int is also included to
ensure that the area pointed to is of type integer.
Now that the concepts of the linked list and dynamic memory allocation have been
discussed it is time to combine these concepts with the concept of pointers and show how a
linked list is constructed.
Once again we will build on the health club example to show how structures are used. This
program will read data from a file called "flp1 data", this will be data setup as it will appear
in the structure: name, аре, height, and weight. Fopen will open this file and it will create a
pointer to the file called "fptr". Review the following program:
#Include <stdio.h>
struct member
{
char name[30]; /*member's name*/
int age; /*age*/
int height; /*height in inches*/
int weight; /*weight in pounds*/
struct member *ptrnext; /*pointer to next link*/
struct member *ptrfirst, *ptrthis, *ptrnew;
=
intret;
FILE *fptr;
fptr = fopen("flp1. data","r");
ptrnew = (struct member *) malloc(sizeof(struct member));
ptrfirst —ptrthis-ptrnew;
/*read data into the linked list*/
pe (ret != -1)
ret = fscanf(fptr, "%s 96d Yd Фа" ,ptrthis->name,
&ptrthis->age,
&ptrthis->height,
&ptrthis->weight);
ptrnew = (struct member *) malloc(sizeof(struct member));
ptrthis-»ptrnext = ptrnew; /* point to next link*/
16
LINKED LIST - (cont)
ptrthis = ptrnew; /*go to new item */
)
fclose(fptr);
ptrthis — ptrfirst;
Pot te !=NULL)
printf("Name: %s\n" ptrthis->name);
printf("age: %d\n",ptrthis->age);
printf("height: %d\n",ptrthis->height);
printf("weight: %d\n\n",ptrthis->weight);
ptrthis = ptrthis-»ptrnext;
)
The first thing to notice is that the structure "member", has been modified with the addition
of a pointer of type "struct member". This pointer is what forms the link to the next list. If
you refer to Figure 1 you should be able to relate the linked lists and their pointers.
After the structure type has been defined three pointers of type struct member are defined:
*ptrfirst, *ptrthis, *ptrnew. Note that these pointers will be used to point to the items in
the linked list to help aid in loading the list and reading it.
Next the file "р1 data" is opened and data is ready to be read into the linked list, the
starting pointer "ptrfirst" is initialized to point to a block of memory of type "struct
member" remember that this consists of four items: name, age, height, and weight. This
pointer "ptrfirst" is sacred to the program and must be preserved so the start of the linked
. list can be located later. The fscan function is used to read the data in from the file and
place it into the proper location within the list of struct member. Presented here is a new
operator that was not introduced in my previous article on pointers to structures. Using the
syntax from my previous article the pointer to a structure looks like this: (*ptrthis).name, as
opposed to the simpler ptrthis->name. This operator came about since pointers to
structures were so common the developers of C decided to create a special operator.
After the first data is read into the structure the malloc function is called again to allocate
another block of memory, and the pointer "ptrnew" is what will point to this new block of
memory. Pay close attention here because this is how structures form linked lists. The
statement "ptrthis-»ptrnext-ptrnew" is what is used to have the previous block of data
point to or link the next block of data. When the assignment ptrthis-»ptrnext- ptrnew is
made the pointer "ptrthis" points to the pointer "ptrnext" and the address of "ptrnew" is
кеше to it. This address is what tells the current block of data where the next block of
ata will be.
By using this linked list approach of reading in data the computer can locate memory
where there is open space. If you tried to save a contiguous block of memory all at once
the computer might not have the memory to spare.
Once all of the data is loaded into the linked list it can be operated on in many ways. For
instance you could sort the data into alphabetical order by clients names, or group the
17
LINKED LIST - (cont)
clients according to one of their particulars. Also it is easy to add or delete a link from the
list due to the dynamic memory allocation. There are more advanced techniques that can be
applied to manipulating the data within a linked list but they are not within the scope of this
article,
HELPFUL HINT #3
Occassionally, you run across a program that has an unlistable BOOT program. Attempts to
list it to the screen results in it executing. The easiest way to get around this is to use the
command; "COPY Кірі Boot TO SCR". This will display the listing to the sreen.
You can then copy down the program lines. Recreate the program as a standard SuperBasic
program with line number. Replace the original boot program with the new one. The
program should run the same as it did originally, but you will be able to modify and edit the
boot program to meet your requirements. This technique of listing programs to the screen is
also an effective way to look at corrupted files or programs that you are having problems
running.
SETTING-UP RGB/CGA VIDEO MONITORS
MASSAPEQUA, NEW YORK, USA - BOB GILDER
"Why is an RGB monitor better than a composite monitor"? This question has been asked
over and over again. In simple terms - a composite signal from a computer has every video
element that RGB signals have. They are: Red, Blue, & Green video signals, Horizontal
or Composite sync and Vertical sync signals which are combined in one video line. An
RGB output has separate signal lines for each one of these elements and for that reason
provide a sharper video image on the monitor crt.
Human vision is not uniformly sensitive across the visible spectrum but peaks in the
yellow - green area. In the NTSC system (used in the USA and a few other countries) the
effects of human response are simulated by adding 3096 of the RED signal, 5996 of the
GREEN signal and 11% of the BLUE signal.
Y=0.30R+0.59G+0.11B
This yields an acceptable gray scale. For an example, the American flag would look as we
expect it to look in monochrome photos. A system having excessive sensitivity in blue
would show black bars for the red stripes and a light gray background for the stars. A
video colorbar generator or a colorbar program running from the QL would display each of
the eight colors as you would expect to see them. There should not be any tint of blue,
green or red appearing on the colorbar display if the monitor is set up correctly. A circle is
normally provided for linearity adjustments of the vertical and horizontal size controls as
well as centering adjustments. Adjust for a perfect circle in the center of the crt. (ED Note:
the following Basic program listing will display the eight color bars on the screen witha
circle in the middle, that you can use to adjust your monitor).
100 REMark COLORBAR_bas R. Gilder, 1/1988
1000 cb
1100 DEFine PROCedure cb
18
RGB/CGA - (cont)
1104 WINDOW #1,448,200,32,16
1108 WINDOW 42,448,200,32,16
1112 WINDOW #0,448,40,32,216
1116 PAPER #1,0: INK #1,5: CLS#1
1120 PAPER #2,0: INK 42,5: CLS#1
1124 PAPER 0: INK 7: CLS
1128 CSIZE #1,1,0
1132 CSIZE #2,1,0
1136 CSIZE #0, 1,0
1140 MODE 8:BORDER 15,250:CLS
1144 PAPER 7: CLS
1148 FOR n-1 TO 17
1152 FOR p-0 TO 7
1156 PAPER p: PRINT" ";
1160 NEXT p
1164 NEXT n
1168 INK O:CIRCLE 84,50,50
1172 INK 0:CIRCLE 84,50,.2
1176 END DEFine cb
QL users are a lucky bunch for the QL computer has both an RGB and monochrome output
at the 8- -pin female DIN connector located at the rear of the QL. Also provided on the issue
6 QL monitor connector is a much needed +5VDC line instead of a PAL (UK signal
standard - Phase Alternating Lines) signal.
For some reason Sir Clive chose to provide the QL with a positive vertical sync signal and
a negative horizontal sync signal. I can only guess that the QL monitor sold in the UK had
these miss-matched syncs. Most RGB monitors that I am familiar with, have either
positive, vertical, and horizontal sync signals or negative vertical and horizontal syncs and
„some have a sync inversion switch to cater to any sync polarity requirement.
The +5VDC output is provided from pin #1 of the DIN connector and will be used to
power an IC - either а 74LS00 or a 741.504 to perform horizontal sync inversion.
In the following diagrams, I use a 74LS00 TTL IC (Quad 2-input positive-nand gate), of
which we will use pins 1 and 2, tied together to form an inverter input. The signal from
the QL, which is negative, enters the i input of the inverter, pins 1 & 2. The sync signal is
now inverted within the IC and a positive horizontal sync signal is available at pin 3 which
is connected to the horizontal pin on the monitor connector.
If you happen to have a 741,504 Hex inverter IC, it can also be used - just use pin 1 as the
horizontal input from the QL and pin 2 will be the inverted sync signal output connected to
the monitor connector.
АП parts for this project can be purchased at any Radio Shack store. In addition to
purchasing the two connectors and IC, you will need a 9 pin 'D' connector hood, and if
you are careful, it can house the IC - just carefully clip all unused pins on the IC and bend
pins 1, 2, 3, 7, & 14 in towards the center of the IC. Solder the wires to the appropriate
pins with minimum solder and install the IC upside down (pins facing up) and the two
piece connector hood will house it, allowing a clean installation. You will need a length of
19
RGB/CGA - (cont)
cable determined by your requirement. The cable need only be 7 conductors, or if you
wish, use 7 single lengths of multi-stranded wire to form your cable.
Male 9 Pin 'D' plug (solder pin side)
5 4 3 2 1
о о о о----ә f <—t— Jumper pins 1 & 2
о о о о
9 8 7 6
Connections to the male 9 pin 'D' connector
Pin #$
Ground (common)
Ground (common)
Red (RGB signal)
Green (RGB signal)
Blue (RGB signal)
N/C (no connection)
N/C (no connection)
Horizontal Sync (negative signal - must be inverted)
Vertical Sync (Most monitors do not require Neg. sync)
оомо ыы
ground —3»» 7 8 ІС-1 will only have
Use pin #7, IC-1 as common 5 pins used, #$ 1,
Ground points for both 6 9 2, 3, 7, and 14
cable connectors - 5 10
(9 pin 'D' pin # 1 & 2)
(8 pin "Din pin #2) 4 11
Horiz Sync out to 9 pin 4
'D' connector, pin #8 д 2
Horiz Sync input from — 2 13 ——
L connector (pin #4 +5 volts from
бы 1%2 hd 1 14-4-- connector (Pin #1).
together to form an
inverted signal input).
74LS00 TTL IC wired as an inverter - IC-1
Bottom side up (pins up
20
КСВ/УСА - (cont)
X Plug notch
6
|
2
8 Pin Male DIN connector (solder pin side)
Connections to the male Din 8 pin connector
Pin Ғ5
* 5 volts DC
Ground (common)
Composite Signal (not used for RGB)
Horizontal Sync (negative sync - must be inverted)
Vertical Sync (Most monitors do not require Neg. sync)
Green (RGB signal)
Red (RGB signal)
Blue (RGB signal)
очо ол ыы
Cable Connector hookup
"Pin #1, 8 pin Din connector to pin #14, IC-1 (+ 5 Volts DC)
Pin #2, 8 pin 'Din connector to pin #7, IC-1 (Common Ground)
Pin #3, 8 pin Din connector NOT USED!
Pin #4, 8 pin Din connector to pin #5 1 & 2, IC-1 (Horizontal sync input)
Pin #5, 8 pin Din connector to pin #9, 9 pin 'D' connector (Vertical Sync)
Pin #6, 8 pin Din connector to pin #4, 9 ріп 'D' connector (Green RGB signal)
Pin #7, 8 pin Din connector to pin #3, 9 pin 'D' connector (Red RGB signal)
Pin #8, 8 pin Din connector to pin #5, 9 pin 'D' connector (Blue RGB signal)
Pin #1 and #2, 9 pin 'D' connector to pin #7, IC-1 (Common Ground)
Pin #3, 9 pin ТУ connector to pin #7, 8 pin Din connector (Red RGB signal)
21
RGB/VGA (cont)
Pin #4, 9 ріп Т) connector to pin #6, 8 pin Din connector (Green RGB signal)
Pin #5, 9 pin 'D' connector to pin #8, 8 pin Din connector (Blue RGB signal)
Pin 46 & #7, 9 pin 'D' connector NO CONNECTION
Pin #8, 9 pin 'D' connector to pin #3, IC-1 (Positive Horizontal sync output)
Pin #9, 9 pin 'D' connector to pin #5, 8 pin Din connector if required (Vertical sync)
Pin ffs 1 & 2, IC-1 to pin #4, 9 pin 'D' connector (Negative Horizontal sync)
Pin #3, IC-1, to pin #8, pin ТУ connector (Positive Horizontal sync out)
Pin #7, IC-1 (two wires), to pin #51 & 2, 9 pin Т) connector and to pin #2, 8 pin Din
connector
Pin #14, IC-1, to pin #1, 8 pin Din connector (Pin #1 is labeled PAL in the QL manual,
however, the US QL's have a 5 volt DC connection at this pin).
List of parts: Radio Shack part numbers indicated
274-026 8 pin male DIN plug $1.79
276-1537 9ріп male ТУ plug $0.99
276-1539 9 pos 'D' Hood $0.79
276-1801 7400 Quad 2-input NAND gate $0.89
276-1802 7404 Hex inverter $0.99 *
278-775 9 conductor, double shielded cable $0.59 per foot
* Use the 7404 Hex inverter as an alternate IC.
Additional Information:
An RGB monitor will display 8 primary colors; black, red, yellow, cyan, green, blue,
magenta and white. If you purchase a CGA monitor, yellow will appear brown and white
will be tinted blue or grey looking. This is set-up in the G2's (grids of the picture tube) to
produce these differences in color because; CGA monitors have one additional line called
Intensity. CGA will provide 16 colors if the intensity line is used. Try connecting the
intensity line to a high (45VDC) output on any unused IC pin output. It may work! Yellow
will be yellow when intensified and white will be white. You may also find that when you
power-up the QL, the tweed memory check display and the F1 - F2 display will roll until
you press either function key; then it will stabilize. Try disconnecting the vertical sync line,
it may eliminate this problem. NOTE: If you require any assistance, contact me.
22
READING MSDOS DISKS ON THE QL - PART I:
The Root Directory
OAK RIDGE, TENNESSEE, USA - Mel LaVerne
The original impetus for this article came from having a few Shareware disks lying about,
gathering dust. Inevitably, I wondered about the feasibility of reading Big Blue's efforts
on the QL.
Why another ІВМ to QL program? After all, one can find programs like QLIBM_exe on
the QUANTA library. Well, aside from access to said library, machine language programs
are notorious for their pickiness; crashes are all too easy to produce. Besides, if the output
is not exactly to your liking, modifications can be very difficult. Whence this effort in
100% SuperBASIC.
Like so many projects, this one has grown like Topsy. At the present, I anticipate two,
possibly three articles: this one, on the MSDOS Root Directory; a second on digging out
information from the disk, once you have determined from the directory where it is;
perhaps a third on translation into something usable.
Direct disk access, i.e., the ability to get at individual bytes on the disk, is briefly explained
in the Trump Card Manual (TCM). First, one must open a channel with, for example,
OPEN #4, Тірі *d2d'.
Next, use the Toolkit II command "GET" in, e.g.,
GET #4\position, a$,
where we have
position = 1 + sector + 256*side + 65536*track.
The above works for QL disks. On IBM disks I got 'read/write failed' for odd track
numbers. Further study of the TCM found the information that using 40-track disks on 80-
track drives requires that the track number be doubled (or equivalently, double the
multiplier). Thus, we have
position = 1 + sector + 256*side + 131072*track,
for the IBM disks.
Sector numbering on IBM disks differs from QL practise, in that for a given track, sectors
are numbered from 0 to 17. On the QL, the corresponding numbering is 0 to 8 on side 0
and on side 1. To avoid the complexity of determining which system is in use when, I
shall stick with the QL numbering.
The complete IBM directory is contained in 12 sectors of track 0, sectors 0-8 on side 0 and
sectors 0-2 of side 1. On side 0, the only item of interest in sector 0 is the DOS version,
found in bytes 4-11. Sectors 1-4 contain two identical copies of the File Allocation Table
or FAT. For the present, at least, we will not be using the FAT.
The Root Directory is contained in track 0, sectors 5-8 on side 0 and sectors 0-2 on side 1.
Each file entry is 32 bytes long, giving a maximum of 112 files per disk. The QL does not
have this limitation.
23
MSDOSDir - (cont)
The program is rather liberally sprinkled with comments that clarify (I hope !) what is
going on. Note that Toolkit II must be activated.
Lines 1010 through 1040 constitute the main program. Line 1010 may not be strictly
necessary but it does tidy things up a bit before we start.
1000 REMark File = MSDOS Dir cM. Е. LaVerne 5 Apr 92
1010 CLEAR: CLS: Close34
1020 out. channel ch: Get. Driv
1030 Get. Dir: Process. Dir: Print Dir
1040 Close34
1050 :
1060 DEFine PROCedure Close34: CLOSE #3, #4: END DEFine Close34
1070 :
Select the output channel and setup the printer, if necessary.
1080 DEFine PROCedure out. channel(ch)
1090 LOCal ош, channel$
1100 REPeat out
1110 INPUT ‘Output to screen (S) or printer (P) ? '; channel$
1120 IF channel$ == "S" OR channel$ == "P" THEN EXIT out
1130 END КЕРеа out
1140 IF channel$ == "S" THEN
1130 сһ=1
1160 ELSE
Open a QL buffer for printer output.
1170 сһ = 3: OPEN #3; рг
A neater way of setting printer parameters with TK2.
1190 BPUT #3, 27,77, 27,120,49, 27,108,10
1200 END IF
1210 END DEFine out. channel
1220:
This procedure allows selection of either drive 1 ог 2 and opens a channel for direct access.
1230 DEFine PROCedure Get Driv
1240 LOCal pick drive, dr$
1250 REPeat pick drive
1260 PRINT VDrive & ? (1 or 2) ';: dr$ = INKEY$(-1)
1270 IF dr$ ='1' OR $ = 2' THEN EXIT pick drive
1280 END REPeat pick drive
1290 PRINT dr$: OPEN #4, Пр & dr$ & ' *d2d'
1300 END DEFine Get, Driv
1310:
24
MSDOSDir - (cont)
Extract the DOS version #, vers$, from sector 0 and concatenate the Root Directory sectors
into one large string, b$, which we may then examine at our leisure. The values of the
loop variable, p, were pre-calculated from the previously given formula for position, using
the known values for track, side, and sector.
1320 DEFine PROCedure Get_Dir
1330 GET #4\1, v$: vers$ = v$(4 TO 11): b$ ="
1340 FOR p=6TO9, 257 TO 259: GET #4)p, a$: b$ = b$ & a$
1350 END DFFine Get, Dir
1360:
Неге we process the information obtained by "Get Dir".
1370 DEFine PROCedure Process. Dir
1380 vol 1Ы$ = (по volume label)’
1390 er fils = 0: er fils$ = ": fils = 0: fils$ ="
1400 FORi-1TO 112
1410 j232*i:c$ = b$(j-31 ТО)
Having extracted a 32-byte substring from b$, we check c$(1). If the byte is 00, we һауе .
found the end of the directory and exit the loop. If the byte is E5 (decimal 229), the file has
been "erased", i.e., removed from the directory but the file is still physically present. In
that case, we alter c$(1) to "?" to make a printable entry, store it in er fil$ and continue.
1420 c1 = CODE(c$(1)): c12 = CODE(c$(12))
1430 SELectON cl
1440 =0:EXITi
1450 = 229; ег fils$ = er fils$ & "?" & c$(2 TO 32)
1460 ег fils = er. fils + 1: NEXT i
.1470 ЕМІ SELect
The rightmost nibble of c$(12) tells us whether there is a "volume label", i.e., a disk name.
If so, we extract bytes 1 through 11 as the volume label and continue.
1480 IF BIN(BIN$(c12,4)) > 7 THEN vol 1% = c$(1 TO 11): NEXT i
Otherwise, we have found a "current" entry. Save it and continue.
1490 fils$ = fils$ & c$: fils = fils + 1
1500 END FOR i
1510 END DFFine Process Dir
1520 :
It just what you might expect: prints the directory, listing both current and "erased" files.
1530 DEFine PROCedure Print, Dir
1540 CLS: PRINT #ch; ‘Root Directory of '; vol. Ibl$;
1550 PRINT #ch; TO 40; 'DOS Version: '; vers$N Current Files:'
1560 files out fils$, fils
1570 PRINT sich; VTotal current files: '; filSWErased Files:'
1580 files outer. fils$, ег fils
25
MSDOSDir - (cont)
1590 PRINT #ch; “Тога! erased files: 5 ег filSsNDATES;CHR$(12)
1600 END DEFine Print Dir
1610 :
Outputs the file entries contained in the string a$.
1620 DEFine PROCedure files out(a$, num)
1630 LOCal i, j, b$, name$, ext$, side
1640 IF num > 0 THEN Print. Head: ELSE RETurn
1650 lena = LEN(a$)
1660 FOR i= 1 TO lena STEP 32
1670 $ =а$( TO 1+31)
1680 пате$ = b$(1 TO 8): ext$ = b$(9 TO 11)
1690 time$ = b$(23 TO 24): dat$ = b$(25 TO 26)
MSDOS allocates sectors in "clusters" of two sectors. This cluster # is found in bytes 27-
28. Length of the file is in bytes 29-32.
1700 clustr$ = b$(27 TO 28): howbig$ = size$(b$(29 TO 32))
1710 clusno$ = where$(clustr$): trsise clusno$, track, side, sectr
1720 Print Line
1730 END FOR i
1740 END DEFine files out
1750:
1760 DEFine PROCedure Print Head
1770 PRINT #ch;TO 49; '|«------ First Cluster ----- >
1780 PRINT ich; ' File Name’; TO 15; ‘Length’; TO 27; ‘Time’;
1790 PRINT fich; TO 40; ‘Date’; TO 49;Number Track Side Sector
1800 END DEFine Print Head
1810:
Compute file length.
1820 DEFine FuNction size$(bytes$)
1830 LOCal n$, i
1840 n$ = 0: FOR i = 4 TO 1 STEP -1: n$ = 256*n$ + Sortie
1850 RETurn n$
1860 END DEFine size$
1870 :
Compute location of file's first cluster.
1880 DEFine FuNction where$(clustr$)
1890 LOCal n$
1900 n$ = CODE(clustr$(1)) + 256*CODE(clustr$(2)): RETurn n$
1910 END DEFine where$
1920 :
This procedure decodes the IBM cluster number into track, side, and
sector. A bit more general than required for the present use, since we already know that the
track = 0.
26
MSDOSDir - (cont)
1930 DEFine PROCedure trsise(clus, tr, si, se)
1940 LOCal x: x =clus +4
1950 tr = INT(x/9); x =x - 9*tr
1960 IFx «5 THEN si = 0: ELSE si = 1
1970 se =2*x - 9*si
1980 END DEFine trsise
1990:
2000 DEFine PROCedure Print_Line
2010 PRINT #ch; name$; '.'; ext$; TO 21 - LEN(howbig$); howbig$;
2020 PRINT #ch; TO 25; tyme$(time$); TO 37; dayt$(dat$);
2030 PRINT fich; TO 53 - LEN(clusno$); clusno$;
2040 PRINT sch; TO 60-(track»9); track; TO 68; side; TO 75; sectr
2050 END DEFine Print. Line
2060 :
Translates the two-byte string time$ into the form hh:mm:ss.
2070 DEFine FuNction tyme$(time$)
2080 LOCal n, b$, hr$, min$, sec$
2090 n- CODE(time$(1)) + 256*CODE(time$(2))
We first convert n into a 16-bit binary string: hhhhhmmmmmmsssss. Note that this allows
a maximum value of 31 in the seconds field. MSDOS gets around this by recording time to
the nearest 2 seconds. We double the indicated seconds to get the true value.
2100 b$ = BINS(n,16)
2110 hr$ = BIN(b$(1 TO 5)): IF hr$ < 10 THEN hr$ = '0' & hr$
2120 min$ = BIN(b$(6 TO 11)): IF min$ « 10 THEN min$ - '0' & min$
2130 sec$ = 2*BIN(b$(12 TO)): IF sec$ « 10 THEN sec$ = '0' & sec$
*2140 КЕТшп hr$ & ":" & min$ & ":" & sec$
2150 END DEFine tyme$
2160:
Translate the two-byte string dat$ into a date in the form:
dd.mm.yyyy
2170 DEFine FuNction dayt$(dat$)
2180 LOCal n, b$, yr$, mo$, da$
2190 n= CODE(dat$(1)) + 256*CODE(dat$(2))
First convert n into a 16-bit binary string: yyyyyyymmmmddddd.
Note that the year is stored as an offset from 1980.
2200 b$ = BIN$(n,16): yr$ = 1980 + BIN(b$(1 TO 7))
2210 mo$ = BIN(b$(8 TO 11)): IF mo$ < 10 THEN mo$ = '0' & mo$
2220 da$ = BIN(b$(12 TO)): IF da$ « 10 THEN da$ = '0' & da$
2230 RETurn da$ & '' & mo$ & '.' & уг
2240 END DEFine dayt$
27
MSDOSDir - (cont)
REFERENCES
1. Trump Card User Manual. T. Tebby, Miracle Systems.
2. MSDOS Power User's Guide. J. Kamin, SYBEX.
3. Using the Model 50 & 60. H. Schildt, Osborne McGraw-Hill.
QL'S ON THE INTERNET
ALEXANDRIA, VIRGINIA, USA - TIM SWENSON
The Internet is a loose collection of worldwide computers and networks, connected by
some sort of physical and logical link. One of the more well-known portions of the
Internet is the Defense Data Network (DDN). Access to Internet is available through
gateways provided by many commercial networks such as CompuServe, MCI Mail, Sprint
Mail, and many others.
Through a variety of means, a number of QL users have discovered each other on the
Internet. I have found two QL Users, one in Germany and one in Italy, with which I keep
up a regular correspondence. Due to the way messages are routed through various
connections and hubs, messages can take minutes or an entire day to reach the recipient.
Each person on the Internet has a unique mail address that is "understandable" by the other
computers on the network. The address is comprised of the person's user name and the
name of the host computer and node that they use. My user name is tswenson and my
host computer is sesky4102b.pl.osd.mil.
The pl.osd.mil is the "domain" that my computer is in. Domains are tree structures,
arranged from the general to the specific, reading from right to left. First is .mil the
domain for the military and Defense Department. Then .osd for the Office of the Secretary
of Defense. And finally .pl for the Office of the Assistant Secretary of Defense for
Production and Logistics.
Two people are collecting the e-mail addresses of all known QL/Sinclair users on the
Internet, including those on CompuServe. They are Giuseppe Zanetti
(beppe@alessia.dei.unipd.it) and Mauricio Tavares (mauricio@ gauss.aero.ufl.edu).
Contact them if you are on the Internet to ensure you are included in their list.
As mentioned above, there is a gateway between CompuServe and the Internet. For
someone on CompuServe to send me a message, they address the message to
>INTERNET:tswenson@ sesky4102b.pl.osd.mil. For me to send a message to someone
on CompuServe with the user id of 7777,777, I send a message to
7777.777@сотриѕегуе.сот. Check with your commercial online service to see if they
have a similar gateway.
Timo Salmi, of QUANTA fame, has set up a anonymous FTP server for the QL. An
Anonymous FTP (File Transfer Protocol) server is a computer on the Internet that has an
account set up so that anybody can use the FTP program, connect to the server, and
download QL files and programs. Even though Timo's server is in Finland, I can connect
to it from Virginia and download any of the QL files. The server is garbo.uwasa.fi
(128.214.87.1).
28
INTERNET - (cont)
Just before writing this article, I connected to garbo.uwasa.fi to see what was there. Under
the directory qN there are a number of subdirectories: pas\ - for Pascal programs, basprog\ -
for SuperBasic programs, lis\ -for text files, and incoming\ - for uploaded files. Under qN
there are two information files, QLINDEX and Onews-gl. These text files describe the files
already on the server. Timo is looking for additional items to be uploaded.
Starting with the March 1992 issue, the "QL Hacker's Journal" (QHJ) has gone electric.
As the editor of the ОН] and being on the Internet, I have distributed an electronic version
of the QHJ to over 40 QL/Internet users around the world. I used the lists created by both
Giuseppe and Mauricio as the base for my mailing list. The electronic version allows the
user to strip out the programs and compile/run them with out any re-keying of the source
code. It also saves mailing costs and reduces the time it takes to get it to the reader.
To gain access to the Internet, there are a number Public Access Unix Systems around the
US (and possibly the world) that allow anybody (for little or no fee) to have an account for
electronic mail. These Public Access Unix Systems are run like BBS's, but they allow you
access to the operating system and the filing system. If interested, contact me for a list of
the Public Access Unix systems in the US.
The overall goal of QL users on the Internet is better communications between QL groups.
Through my contacts in Europe, I can keep in touch with the latest QL developments. I
then relay the information to the members of my User Group. There are a lot of programs
being ported to, or developed for the QL. Through the Internet I can hear about them and
get access to them.
As any CompuServe or Internet user can tell you, once you get used to having electronic
mail, it is sorely missed when you don't have it anymore. Long live e-mail!
Timothy Swenson 4773 W. Braddock Rd. #3 Alexandria, VA 22311 (703) 820-6657
tswenson@sesky4102b.pl.osd.mil tswenson@dgis.dtic.dla.mil
tswenson@se3c763a.pl.osd.mil (one of these is bound to reach me)
NEW FROM DILWYN JONES COMPUTING
BANGOR, GWYNEDD, UNITED KINGDOM
Recently we've released a number of new software packages, and a major upgrade for
WINBACK (our hard disk backup software), The following is a short description of each
item.
The first of the new items is "SUPER DISK INDEX" a very easy to use program that sets
up a database of the contents of your media, be it disk or microdrive cartridge, and the best
part is, you don't have to type in all the data, it reads the contents directly from the media.
The second new item is "SCREEN SNATCHER". This program as its name suggests is a
picture grabber, in other words it sits in the QL alongside another program and when you
want to save a copy of the display, you press preset keys and the display is saved to disk.
29
NEWS FROM DILWYN - (cont)
Another new program by way of Germany titled "TRANS 24" is for those of you who
have 24 pin printers, but use graphics programs that don't have 24 pin drivers. This filter
program translates the 9 pin bit image data into 24 pin format.
We are now shipping a major upgrade to our hard disk backup program titled "WINBACK
VERSION 2". This package is not restricted to hard disks but can also be used with the
new 3.2 MEG disk drives. WINBACK VERSION 2 is the premier backup program for
Miracle Systems hard disks and compatibles. It can also be used to backup ED disks to
DSDD floppies. This version can now split large files across several disks if required.
It offers full hierarchical hard disk backup. You can make a complete backup the first time
and from then on only backup those files that have been created or changed since the last
backup. Large files can be split into 95 sections across several floppys and then joined
back together at a later time. The Joinfile utility is written in machine code.
Winback ON and OFF allows for an enforced second backup of files already backed up but
which the user may wish to backup again. The Directory re-build facility generates a short
BASIC program prior to reformatting the hard disk. Winback can print a listing as it goes
along, giving details as work is completed.
A Clone program is supplied and is a general purpose fast copier suitable for floppy disk
copying etc.; a Dataspace utility is also supplied that can be used with any task to alter its
dataspace, and finally a free device driver called BLACK. HOLE is supplied that сап be
used in your own programs for fast dumping of output and testing output routines.
For pricing and ordering/upgrading information please note our advert in this issue of
IQLR. (ED. NOTE: Several of Dilwyn's new programs are under review and will appear
in the next issue).
QL WORLD - SOLD AGAIN
LONDON, ENGLAND
It has just been reported to IQLR, that QL WORLD has been SOLD by the people who
purchased it from the collapsed Maxwell Empire.
The new publishers are reported to be a company named ARCWIND, and we believe that
Helen Armstrong will remain as editor. The May 1992 issue will be late by a couple of
weeks, then regular publication should resume. The new owners have stated that they will
honor ALL current subscriptions.
IQLR SPECIAL
NEWPORT, RHODE ISLAND, USA - BOB DYL
We are happy to announce that IQLR has made special arrangements with C.G.H. Services
of the UK, and author Simon Goodwin, to offer the D-I-Y TOOLKIT of QL World fame,
as a group buy, in its entirety at a bargain price.
30
SPECIAL - (cont)
The D-I-Y TOOLKIT is comprised of 19 volumes and contains a wide range of software
accessories including; BASIC TOOLS, CHANNELS, DISK TOOLS, ERROR
CONTROL, FILE TOOLS, GRAPHICS, MULTIBASIC, NETWORKING, PIPES &
PARAMETERS, QUEUES & QDOS, to name just a few.
The complete D-I-Y TOOLKIT is supplied on three 720K disks (3.5" or 5.25"); all of the
volumes include well written user, system, and technical documentation in QUILL. DOCS,
along with SuperBasic and compiled demos, assembler source and object code, testers, and
much, much, more.
The selling price for this tremendous package has been 60 Pounds Sterling (approx.
$106.00 US at current exchange rates). For a limited time, you can purchase the entire
package for $50.00 US plus $5.00 S & H delivered in North America. For the rest of the
world the price is $50.00 US FUNDS plus $7.00 S & H.
We can accept Pounds Sterling or DM currency, equivalent to the US Dollar amounts
quoted. Send your orders plus check, cash, or money orders, to IQLR - 15 Kilburn Court
- Newport, RI 02840 - USA. Please specify disk size.
DATADESIGN : REPLY TO THE REVIEW
VELTEM, BELGIUM - JOACHIM & NATHAN VAN DER AUWERAS
"Thank you for your review of our database program DATAdesign. As DATAdesign is
constantly being improved and developed, we would like to point out the improvements
made since the release of the reviewed copy. So here we go:
1) After you load the hotkey system, you have to type HOT GO if you want to use <alt-
, enter». It is now included in the boot file and will be included in the next version of the
manual.
2) In the next version we will include commands to load and save files in the export format,
thus omitting the current separate program which only converts ARCHIVE export to
DATADESIGN files.
The current program however converts MUCH FASTER as it is no longer written in Basic.
3) The current versions automatically displays the first record of the file when loading.
4) True again, flexible screen layouts are due for our next version which we hope to release
in September/October.
5) Using examples in the manual is a good idea and we'll work on it for our next version.
We would like to point out that we are programmers, and that sometimes we forget about
what database users want and need. Therefore we need you and your reader's input to help
us develop Datadesign into the best database on the market.
6) Current versions of Datadesign can sort up to ten fields. An example of user input, is
that we didn't realize someone might need more than two levels. When it was reported that
someone needed three, we made it ten, just to be on the safe side. If you'd prefer 15 sort
levels, no problem, YES, sorting works to any depth.
31
DATADESIGN - (cont)
Just for the record; View now shows as much records as can be displayed in the window,
MERGE, CLEAR ALL MARK, NEW RECORD, have been added. FILTER has been
improved, WINDOW SIZE is now saved and adjusted when loading, the program can now
be executed with a file loaded. АП file handling now uses DATA USE device and adds
extensions when necessary.
The SuperBasic interface now multitasks as it should. We've reached version 2.07 of the
main program, version 1.07 of the engine, and version 2.02 of the SuperBasic interface.
Compared with the reviewed version the SuperBasic interface has changed drastically, and
is now much easier to handle.
Thanks again for the good work, and the best of luck with IQLR.
(ED. Note: The original review of DATADESIGN by Bill Cable is in issue 5, volume 1 of
IQLR.)
NEW FROM JOCHEN MERZ SOFTWARE
DUISBURG, GERMANY
А couple of exciting new products have emerged from Jochen Merz; the first is "SER
MOUSE'" a software driver which allows you to connect a MS-DOS serial mouse to one of
the serial ports of the QL.
This software mimics exactly the QIMI mouse interface, without the need to open up your
QL to install an interface, and the price savings is more than 50%. In addition, if you
purchase a three button mouse you can take advantage of some additional functions: the
center button is ESC, left + center is WAKE, and right + center is SLEEP.
The second new offering is a game titled "THE LONELY JOKER". It is a solitaire card
game based on three different patiences: Echelon, Napoleon, and Cascade. All three games
are very addictive, with different variations per game. You control the game either by
mouse or keyboard as it runs under the Pointer Environment.
Jochen has released a major upgrade to his editor "QD 4". This first class editor includes
the best features of other known editors, together with the advantage of being menu-driven
by mouse or keyboard. QD is the first editor that runs under the Pointer Environment. Its
features would require much more space than we can allot to it here, but let us add that its
our EDITOR of choice at IQLR.
A second major upgrade from Jochen Merz Software is "QDESIGN II", written in
reentrant code, vectorfonts may be shared. The QSNAP function can be used to scan QL-
text from the screen and put into the SCRAP function so that it can be processed from QD,
in addition to all of its other features the manual has also been improved.
For more information on these products or to place an order, please see Jochen Merz
Software's advert on the back cover of this issue.
32
Кайаша OL/Thor Users Group
Worldwide Membership is by subscription
only, and offers the following benefits:
Monthly Newsletter – up to 40 pages
Massive Software Library - mostly FREE!
Free Helpline and Workshops
Regional Sub-Groups. One near you?
Advice on Software & Hardware problems
Discounts from most major suppliers
Subscription just £14 for UK members
Overseas subscription £17
Barclaycard: Visa: Access: Mastercard
* Now in our NINTH successful year *
Further details from the Membership Secretary
Bill Newell
213 Manor Road
Benfleet
Essex. 557 4JD
Tel (0268) 754 407
TOOLKIT II TUTORIAL - PART 4
ADAPTED FROM: QL TECHNICAL REVIEW (C.G.H. SERVICES)
(ED Note: As in the previous parts, this tutorial is intended to supplement the Toolkit 11
Manual and the paragraphs are numbered accordingly).
9. JOB CONTROL
Тһе QL was the first affordable computer to allow multitasking. It's one of the many
features that still sets it apart from the herd, and yet, is one of the most difficult to control
satisfactorily on a standard machine. It is also one of the areas that most interests
"Tinkerers' like myself.
The extensions for job control are documented in section 9 of the Toolkit II manual. There
are four commands (JOBS, RJOB, SPJOB, and AJOB) and four functions (PJOB, OJOB,
JOB$, and NXJOB) provided.
9.1 JOB CONTROL COMMANDS
JOBS lists the current jobs. By default the output will go to #0, but as with standard
SuperBasic procedures, the output may be sent to any other channel by simply appending #
and the channel number. Thus JOBS #2 will display a list of jobs in #2.
Toolkit II also allows implicit channels. That is, if you wish to send the output to a device,
you need not open a channel to that device, send the the output to the channel (as stated
above) then close the channel, but you may append the command with and the device
name. The following will create a file JOB TXT on flpl that contains the list of jobs on
the system:
JOBS \рі1 job txt
You can just as easily print out the list of jobs with one command:
JOBS Werl
With SuperBasic as the only job in the machine, the JOB command would display a table
as follows:
Job tag owner priority
0 0 0
SuperBasic does not have a job name. Names are normally displayed after the job priority.
If a job is suspended (see SPJOB below) then an 's' would be shown immediately to the
left of the job priority.
RJOB allows you to remove a job (other than SuperBasic) from the machine. RJOB is
followed either by the job name or by the job id. The job id is a combination of two
parameters, the job number and the job tag. These values are displayed by using the JOB
command. If you execute a program, mandelbrot, using the command ex flp1_mandelbrot,
the JOB command would produce a list as follows:
Job tag owner priority
0
0 0
1 0 0 8 mandelbrot
34
TOOLKIT II - (cont)
Note that a job activated by SuperBasic will start with a priority of 8. Some jobs will not
have names. The job mandelbrot may be removed as follows by the command RJOB
mandelbrot.
There is a further parameter that may be added to the command. This is an error code
which through the use of machine code could be read by the parent job (that job that started
the job being removed). Thus you could type RJOB mandelbrot,-1. This isn't relevant to
the user of SuperBasic except that it appears when you follow RJOB with the job id instead
of the job name, the error code must also be used. Thus you would type RJOB 1,0,-1.
The reason for using the job id as a parameter is that some jobs do not have names.
Another reason is that it is possible to have many jobs with the same name. If the job name
is used, then QDOS will remove the first of that name.
SPJOB allows you to set a jobs priority. As stated earlier, a job started by SuperBasic is
given a priority of 8. If the job is required to run faster or slower then you must raise or
lower its priority. Like RJOB the first parameter is either the job name or job id. If a job id
of -1 is used then the current jobs priority is altered. (If you type SPJOB as a direct
command it would be SuperBasic, however, if SPJOB is used in a SuperBasic program
that is then compiled an argument of -1 would refer to the compiled program). The second
parameter is the priority. This is an integer between 0 and 127. A priority of 0 means the
job will become inactive (it will not get a share of cpu time).
Thus, if you wished to alter the priority of the job mandelbrot (as used in the example
above) you could type either of the following:
SPJOB mandelbrot,16
SPJOB 1, 0, 16
We would then expect the job to run approximately twice as fast. Note the speed of
«execution of a job not only depends upon its priority, but also upon the availability of
resources it wishes to use. For example, only one job mày use the keyboard at a given
time, so if a job requires input and the keyboard is already in use, then it will be suspended
Я QDOS until the keyboard is available (either because the first job has finished ог control-
is used).
AJOB is used to activate a program which has been loaded into memory but not previously
started. (If a job has previously had its priority set to 0 it could be reactivated either by
setting its priority to a positive value or by using AJOB. A job executed with the command
ET would be in an inactive state until activated by further commands such as AJOB).
9.2 JOB STATUS FUNCTIONS
PJOB returns the priority of a job, as with the commands above, the job may be specified
either by its name or by its id. Since it is a function the job name or id must be enclosed in
brackets. Thus you might type PRINT PJOB (mandelbrot). From within a program you
might wish to double a jobs priority:
39
TOOLKIT II - (cont)
150 PRINT 'Do you wish to speed up mandelbrot?'
160 answer$ = INKEY$ (-1)
170 IF answer = = 'Y' THEN
180 priority = PJOB (-1)
190 priority — 2 * priority
200 SPJOB -1, priority
210 END IF
If mandelbrot is a SuperBasic program the inclusion of a section similar to the above would
allow you to speed up the job. Of course, this only has an effect if other jobs are running,
if only one job is active on the computer it will take the same amount of time to run, if its
priority is 1 or 127.
OJOB returns the id of a jobs owner (ie. the job from which it is activated). In our
example, PRINT OJOB (mandelbrot) would print 0, the id of SuperBasic.
JOBS returns the name of a job given its id. Thus, PRINT JOBS (1, 0) would print
‘mandelbrot’. This is useful in any programs that refer to other jobs: you may wish to job
ids in calculations but when it comes to displaying information it is better to convert to the
job name.
NXJOB returns the id of the next job in the job tree. In our example NXJOB (0) would
have a value of 1 ie. the next job after SuperBasic is mandelbrot. As more jobs are
activated on the machine the Job tree becomes more complex. Jobs may be activated by
SuperBasic or by another job.
Super Toolkit II thus provides a set of commands and functions for controlling jobs and
finding out information about jobs. It would be nice to have more functions for example, a
function that returned the location of a job in memory, its length, the location and length of
data itis using etc., etc. Much of this information can be found using machine code.
END OF PART 4
AUTHOR: Stephen Bedford
LATE BREAKING NEWS
NEWPORT, RHODE ISLAND, USA - BOB DYL
: After we had gone to press with this issue, I had two telephone conversations, the first
with Phil Borman Chairperson of QUANTA, and the second with Stuart Honeyball the
genius of MIRACLE SYSTEMS.
The nature of the conversations were such, that we decided to "STOP THE PRESSES" and
insert this report.
The conversation with Phil dealt with items that came up during the QUANTA AGM held
on 25 April 1992. Some interesting news is that a second source is developing a mid-range
VGA graphics card for the QL, an improved network capability will be offered soon by
QUANTA and Jochen Merz Software.
36
2
NEWS - (cont)
The MIDI interface is now available from QUANTA but is not Gold Card compatible, a
second one is being developed to resolve the problem. A rumor was circulated that an
unidentified person would demonstrate an 8 MEG memory board using the 68030
processor, at the meeting.
The conversation with Stuart dealt with the many rumors floating about the QL world
concerning Miracle Systems. With the patience of Solomon, Stuart answered all my
questions, and then authorized IQLR to print his comments on current projects being
worked on by Miracle Systems.
As we stated earlier, in the article "IN THE PIPELINE", work continues on the graphics
card, and it will have a. parallel port plus unspecified goodies. Being reported for the first
time, is a card that will enable PC and PC clone owners to run QL software using Tony
Tebby's SMS-2 QDOS clone, that's right a QOL EMULATOR for PC's. Can you imagine
how this could expand our user base !!!
Another project in the works is a SCSI interface for the QL, this will open up the QL to a
wide range of available hardware. As in all cases, Miracle WILL NOT advertise a launch
date until the item or items are actually ready for shipment.
But having some knowledge of the market place, we believe we could see one or more of
the items mentioned above, ready for the Christmas selling season. It would be good
business. (ED. NOTE: QDOS (5М8-2) is already running on the Atari, will soon be
running on PC's. Is it possible that it could also be running on MAC's and AMIGA's
QTOP AND THE 3.2 MEG DRIVE
TIVERTON, RHODE ISLAND, USA - DICK TAYLOR
In the previous issue, I mentioned that I wanted to write an article explaining how I was
using my 3.2 Meg drive as a mini harddrive. As luck would have it, I had just about
completed setting up my first "Master Disk", when COWO ELECTRONIC came out with
an upgrade to QTOP (the front-end that I was using as a program manager). The bottom
line is that although I have shifted to the new version (1.11), I still have a ways to go
before I could say that I am completely familiar with all it's capabilities.
QTOP is an excellent application to use as a "front-end". It works with all QDOS
compatible computers including, the QL, THOR, Atari-ST with QL emulator, the Amiga
with QL emulator as well as.the new ExeQtor. Qtop is also compatible with both the Gold
Card and Minerva.
Qtop really comes into its own when you are involved in a work session and find that you
need many different capabilities outside of your main application. With the use of "CTRL
C" you can cycle between any of the applications you have running, the Qtop menus as
well as SuperBasic.
Qtop boots up from the ED floppy in less than seven seconds. This includes activating
Toolkit II, the Pointer Environment (mouse) and the Window Manager. Qtop displays
across the bottom of the screen, the day of the week, the date and time as well as free
37
QTOP - (cont)
memory. The initial screen displays the main menu which allows you to select submenus.
From this first and second tier menu system alone, you have a choice of over a hundred
options. This structure and options are illustrated in figure 1.
MAIN MENU
JOBS
LIST JOBS
JOB-INFO
VIEW JOB
OWN PRIOR
PRIORITY
REMOVE
SUSPEND
RELEASE
DEVICES
DATA, USE
PROG, USE
SPL USE
FLP USE
RAM, USE
WIN USE
NFS USE
DATA & PROG
RESET USE
FILE-DEVS
PROGRAMS
BACKUP
CONVERT
FILED
DISCED
XCHANGE
Figure 1, QTOP Fisrt and Second Tier Menu Options
Тһе two main menu options that I would like to cover briefly in this article are
PROGRAMS and MY PROGS. Both of these submenus can be configured with whatever
programs you desire. The only restriction is that the name on the menu must be the same
as the name of the executable file that starts your program, so you may have to rename your
file so that it will fit on the menu.
Iam still a long way from being satisfied with my selection of programs, but still have
room to add several more before I have to delete one to open a spot on one of the menus.
38
QTOP - (cont)
On the PROGRAMS menu I have setup the following selections: BACKUP (a fast
backup), CONVERT (copies a microdrive to disk and converts MDV to FLP), FILED (a
file editor also useful for manually converting МОУ to FLP, as well as altering on screen
prompts of foreign language programs to English), DISCED (a disk editor), XCHANGE
(a multitasked set of the PSION programs), SANDL (a Savings and Loan program for
calculating loan payments and amortization schedules), QUILL, EASEL, ABACUS,
ARCHIVE and CONFIG ( a Tony Tebby configuration program).
On the MY PROGS menu, I have setup the following selections: ARCED (an editor),
MASTER SPY (an editor), QSHANG (a Mahjonn or Shanghai type game for a quick”
break from a work session), QD III (an editor that uses the QIMI mouse), DISCOVER
(will convert a QDOS disk and files to MSDOS and vice versa), COMPARE (compares
two files and highlights any differences. Useful when you need to determine the latest
version of a file or if two files with the same name are identical), QRAM (not really needed
as QTOP duplicates most of the functions, but it is an old friend) and DS (a disassembler).
In addition to these programs, there are still three open slots on the menu for additional
programs.
The above selections are certainly not final for this disk and as I find a need for additional
programs, I will add them. I have been toying with the idea of adding the C-68 Compiler,
but have been holding off until I decide wether or not to make that part of my second
Master Disk.
How much space on the disk did all of these programs use up? Of the 6440 sectors I
started with on the ED floppydisk, I still have 4124 sectors remaining. With almost two
thirds of the disk space remaining, so it is unlikely that any combination of twenty or so
programs would exceed the capacity of the disk.
The best part of this system is the fast access speed of the ED drives (19 ms). ALL of my
+ applications on the PROGRAMS and MY PROGS menus execute in less than THREE
SECONDS. This speed of execution provides me with the advantages of a Harddisk
without the high cost.
With the ability to create and use subdirectories, the possibilities for setting up Master
Disks on an ED drive are endless. You certainly don't have to use Qtop, Taskmaster, Qpac,
Qram or any other program manager, although I certainly find it advantageous, plus it gives
me an almost unlimited toolbox at my fingertips to draw from.
Qtop can be obtained from:
COWO ELECTRONICS (Urs Konig)
Munsterstr 4
CH-6210 Sursee
Switzerland
Tel: 045 211478
39
SUBSCRIPTIONS / ADVERTISEMENTS
IQLR is published by SeaCoast Services of 15 Kilburn Court, Newport, Rhode Island,
USA. Our telephone number is 401-849-3805, business hours are 10:00 AM to 9:00 PM
Eastern Standard Time, (1500 - 0100 GMT) Monday through Saturday.
ALL material published in IQLR remains the property of SeaCoast Services, and is
COPYRIGHTED, unless otherwise specified. Written permission from SeaCoast Services
IS REQUIRED for use of material printed in IQLR.
SUBSCRIPTION RATES: $14.95 per year (US FUNDS) for the US, $16.95 per year
(US FUNDS) for Canada, and $28.00 per year (US FUNDS) the rest of the World.
Single issue rates are $ 3.00 US, $4.00 Canada, $5.00 rest of the World (US FUNDS).
We will accept Pounds Sterling or DM bank notes (currency) equivalent to the US $
amount.
IQLR is published 4 to 6 times per year, with individual issue size determined by the
amount of available material. Our subscription year is 1 May through 30 APRIL.
Mid-year subscribers will be sent back issues for the current year.
ADVER RATES: $15.00 per QUARTER PAGE per issue.
$25.00 per HALF PAGE per issue.
$50.00 per FULL PAGE per issue.
Advertising rates are quoted in US Dollars, we will accept Pounds Sterling or DM bank
notes (currency) equivalent to the US $ amount.
THE ADVERTISING DEADLINE FOR THE NEXT ISSUE IS 20 JUNE.
IOLR WILL REVIEW OR RETURN ANY COMMERCIAL HARDWARE AND
SOFTWARE SUBMITTED.
DISCLAIMER: SeaCoast Services reserves the right to publish, edit, or reject any
submitted material, and under no circumstances will SeaCoast Services be liable for any
direct, indirect, or consequential damage or loss arising out of the use or inability to use,
software or hardware related items published in IQLR.
40
text? 7 D | а 54 version 2 Is available now!
A Quantum Leap in QL Wordprocessing
EASIER THAN EVER
You do not even need the manual to use text87plus4. Automatic setup and
installation program allows you to select the appropriate printer-driver (some 30 ready-
made drivers are supplied) then copies all the necessary files to your working disk.
Beginner's mode with short menus hides the more advanced features of the program.
Commands and key-presses are highly compatible with those used in Quill. On-line
help is provided with every menu and more extensive help can be put on constant
display.
THE MOST POWERFUL QL WORDPROCESSOR
Enhanced menu system offers more context-sensitive information and instructions.
Optional fast escape from any menu to the editing window. New selector boxes for
choosing typefaces, screen founts, etc.
Extensive editing facilities include cursor move (by character, word, line, paragraph,
screen, page) erase (by character, word, line) block operations (copy, move, delete) goto
(line, page, top, bottom, block). Insert and overwrite modes. Very fast search and
replace backwards and forwards, case dependent and independent. Special characters
include hard-space, hyphenation, hard and soft hyphens.
File operations include load, save, merge, block save (in plain ASCII or as fully
formatted document) import (Quill files retaining bold, underlined, etc. or any other
file, including those exported from Archive and Abacus or from other programs).
Enhanced spell checker with selector boxes for browsing the dictionary and automatic
replacement of the selected word which is automatically capitalised if the original
began with a capital. Choose between large (over 210,000 words) and small English
dictionaries or French or German (all supplied with the program). Form your own
additional specialist dictionaries or edit any of the existing ones. The large
dictionary also contains the American spelling of the words.
Up to 8 documents can be open simultaneously. More than one window can be open
over each document so that you can edit the text while looking at a different part of it
or at a different Gocument. Windows can be arranged and resized manually or
automatically and switched instantly. Page and column ends are constantly displayed
on the screen, taking into account all the changes of line-spacing. Page preview shows
full A4 pages before you commit the text to paper.
UNRIVALLED PRINT QUALITY
In text and character formatting, text87plus4 is miles ahead of the so-called
competition, Simply, no other QL program can produce similar results. Used with
the appropriate printer-driver, text87plus4 can utilise the different founts and character
sizes built into modem printers. It fully supports proportionally spaced founts (such
as used for this text) and justifies them correctly. You can use any combination of
small and large founts and be assured of a perfect printed result. You can set up
multiple paragraph formats with different amounts of line-spacing for each. You can
also format the page the way you want, using several columns plus headers and
footers. For desktop publishing, you can use several different page layouts in the same
document. Includes the American Letter size for page layout.
THE FASTEST QL WORDPROCESSOR
text87plus4 is much faster than the so-called competition. Tested on an ordinary QL,
text87plus4 reformatted a document of 385 lines after changing its right margin in 5
seconds, the other wordprocessor took 280 seconds! (this is not a printing error). Plus4
completed an automatic search/replace (58 instances) in the same document in 5
seconds, the ‘other’ program took over 100 seconds! Even a single paragraph reformat
took 6 times longer on the other program. The test document was an ordinary text
included on the plus4 disk.
plus4 is fully compatible with all QL roms (including US), Trump Card, Gold Card,
Atari Emulator (also in the 768*280 pixel mode). Toolkit П Altkeys can be used and
can be Hotkeyed in the Pointer Environment. Compatible with ОрасП and Taskmaster.
More information on text87plus4 and drivers is available on request
Prices (inclusive of Air Mail to United States)
text87plus4 £79
upgrade to plus4 from older versions inquire
2488 drivers for 24pin printers £15
typeset90-deskjet drivers for all HP Deskjets £20
typeset90-Epson GQ3500/5000, EPL4100 /7100 lasers £40
fountext88 + founted89 for 9 & 24-pin printers £40
For immediate dispatch, send your order with credit card details to:
Software87, Road, London NW3 2JU,
ENGLAND
33 Savernake
Or contact our US distributors: EMSoft, Boston, MA
Inl X...
Ва злата «АНЗ Maia
im Шат ЧАЙАН] 12 ә УИ) [б ЧУ) 451
Telephone and az а 0909-90909 Conny NEWS ~ NEWS .. NEWS
Jochen Merz Software is the largest supplier of high quality software that runs under QJUMP's Pointer Environment |
(PE). This hardware-independent environment is the very advanced and easy to use windowing system for QDOS, that
is the path to the future for QL users. We support the PE by supplying software development tools, documentation and
the QL-Emulator.
For more details on our complete range of products write or send a fax!
QD Version 4 - The first (and only) Editom using the PE. Dynamic memory ol-
locotion, no limit on nrs of lines, comfortable block-hondling ond mony, mony
new features, e.g. improved print menu, better search/replace, GOTO Proce-
dure ond Function, even Machine code label. With new Menu Config which ol-
lows you to configure all programs using the standard CONFIG block, but menu
driven. £38 DM 112,10 $60.80
QMenu - the Menu Extension V3 QMenu is а very easy to use interface
with pre-defined menus (c.g. multi-column file-select, simple-choice boxes, se-
lect from lists, error hondling). These menus may be used from SuperBASIC, mo-
chine code and otherlonguoges.£13 DM 38,35 $20.80
QSUP - System Utility Package Different sorts of programs ond exten-
sions which help you setting up ond using your mochine (e.g. Translotion-Toble
Editor, Notepad). £26 DM 76,70 $41.60
Thing & EPROM Manager Оо you wont to put your Extensions, Things, Jobs
etc. into EPROM? The EPROM Manager helps you by creating files which ore
ready-to-burn. It contains also the very useful Thing Extenion Il, which gives
you full control over Things from SuperBASIC. £18.50 DM 54.58 $29.60
НЕ - the FileFinder Running under the PE, Fifi is easy to use ond extremely
useful. Fifi scans devices or directory trees and searches files or filenames for
strings. Combinations ore possible, e.g. String1 AND string? BUT NOT string3
etc. £13 DM 38,25 $20.80
DISA - Intelligent Disassembler which allows you to disassemble interok-
tively any kind of mochine-code. Completely pointer-controlled = very easy to
use. Generates ASCII-output which may be assembled using the GST (Macro)
Assembler. DISA also tries to insert label names (used in the Technical Guide
ond the Reference Manual), and also knows QDOS standards (e.g. Proc/Fn to-
bles, ROM-heoders, CONFIG-format etc.) £27 DM 80 $44
QDOS Reference Manual - This book is а must for all m-code progrom-
mers. It explains how to use ODOS, all trops and vectors, the Thing System, the
HOTKEY System Il ond much more. It points out which features work on a Ql,
оп Emulator and how to write compatible for future operating systems. DIN А5,
over 170 pages. £27 DM 80 $44
ОРТЕ - The Pointer Environment Toolkit Revised manual which describes
how to use the Pointer Interface and the Window Manager from SuperBASIC
and machine code, even how to setup standard CONFIG tables. ОРТА comes
with examples on disc. All necessary keys, macros and extensions for SuperBA-
SIC ore supplied. £30 DM 88,50 $48
FLP/RAM Level 2 - Replacement EPROM for SuperQBoards (V1.17 onwards,
with & without mouse) or IrumpCard (please specify)! Real sub-directories! Ql-
Emulator ond Gold-Cord compatible! With ATR-device (to read and write MS-
DOS/ATARI discs). About twice os fast, with improved slove-block-hondling!
(NotJM ROMs!) £18 DM 53,10 $28.80
EASYPTR II - Create your own PE menus & sprites, use them in your own Su-
perBASIC or machine-code programs. Creating Menus was not easy, until now!
Put all the items you need on screen, that's it! Supports all the PE facilities, even
split sub-windows and uses the Menu Extension! Now even complete applico-
tion-sub-windows тоу be created! Mony examples and better monual! £49
DM 144,55 $78.40
QDesign II - Graphic- and Design-program. Running completely under
the PE! Supports the Extended Mode4. Do you think anything else is to say
about о very good graphics program?!
For all 9 ond 24 pin printers, Deskjet ond Loserjet £48 DM 140 $77
Font-Vector-Editor for QDesign £19 DM 56,05 $30.40
Assembler Pack containing the GST Macro Assembler, QD IIl and the QDOS
Reference monuol, £85 DM 250,75 5136
SYSTEM - System Tools for QDOS: reol file-attributes ore added, e.g.
write-only, hidden or for selected users only. Works even over net and on winch-
ester. New TRAPI3. New devices (equivalent to Ql-Fmulator): nomed pipes,
MEM, NUL 80 new procs & functions, e.g. WSET FATTR, WSET ҒТҮРЕ,
WSET FVERS, ADIR, ASTAT, HK GETBF$. £27.50 DM 85,- $45
7Х8301 £5.90 DM 17,41 $9.44
7Х8302 £5.90 DM 17,41 $9.44
E
eunocatio,
QL-Emulator for ATARI ST
(260, 520, 1040 and all Mega's, but no STE's). This hardware, together with
software turns any ATARI into a QL The emulator supports the standard
MODE 4 as well as a MODE 4 in much higher resolution (768x280)
The QL emulator does not interfere with AT-emulators, it also runs even
faster if accelarator cards (HyperCache, AdSpeed) are built into the
machine. Of course, it supports real subdirectories (complete Level2 device
drivers) on floppy, hard-disk and RAM disc.
The complete QL emulator package includes a lot of utility software ond
extensions.
If you are interested in an emulator, you should write for more information
£139 DM 376 $225
EPROM Cartridge for the QL-Emulator, switchable
- containing the standard drivers £33 DM 97,35 $52.80
- containing the extended drivers £33 DM 97,35 $52.80
Floppy adaptor to connect QL discdrives to the ST £9 DM 26,55
$14.40
Monitor-cable ATARI to Scart £9 DM 26,55 $14.40
Centronics-cable 2m £6.50 DM 19.18 $10.40
Centronics-cable Sm £10.50 DM 30.98 $16.80
Games
Diamonds £11 DM 32,45 $17.60
BrainSmasher £12 DM 35.40 $19.20
Arcanoid £10 DM 29,50 $16
Firebirds £10 DM 29,50 $16
SuperGamesPack £25 DM 73,75 $40
QShang £14 DM 41,30 $22.40
Brandnew game: The lonely Joker!
The lonely Joker is a solitaire card game based on three different patiences:
Echelon, Napoleon and Cascade. All three games are very addictive, with
different variations. It is easy to control by mouse or kebyoard and runs
under the PE. System requirement: 384k RAM and Toolkit 1
£14.90 DM 44 $25
NEW: SER Mouse
Software driver which allows you to connect a senal (e.g. DOS) mouse to
one of the serial ports of the QL which then mimics the QIMI interface. In
addition to the functions of the QIMI, if you have a three button mouse the
following features are available: ESC on centre button, left centre is Wake,
and right+centre is Sleep. £14.90 DM 44 $25
Updates
Our update policy is very generous: updates on most products ore free!
Upgrades (i.e. major improvements on the products) are available at small
charges. In general you only have to pay if new manuals are required. For
updates and upgrades, just return the original disc and enough retum
postage (none, if updates come with an order, £2 (DM 5,90 $3.20) for up
to 5 discs or £4 (DM 11.80 $6.40) for more.
Upgrade to QD Version 4 from V3 £10 DM 29,50 $16
Upgrade to QSUP from QSYS lor ll £19 DM 56,05 530.40
Upgrade to QPTR (with new manual) #14 DM 41,30 $22.40
Upgrade to EasyPTR 1 from М1 £13 DM 38,35 520.80
Upgrade to QDesign Version И £13 DM 38,75 $20.80
New Emulator manual £6 DM 17,70 $9.60
ial offers (Europe only)
Pack of 10 3.5" discs MF2DD £3.10 DM 9,15
Pack of 10 3.5" discs MF2HD £5 DM 14,75
3.5" Diskdrive 2MB (unformatted) without case, for GoldCard (1.44MB)
or any other Controller (720k) £39 DM 115,05
Please add £4.00 (DM 11.80) for postage and pack-
—. age (Europe) or $6.40 for one item and $4 for every
further item (Overseas). No extra charge on credit
cards! All prices excl. VAT. E&OE